import { createStore } from 'vuex'
//导入vuex持久化persistedstate
import createPersistedState from "vuex-persistedstate";

export default createStore({
	state:{
		//是否已经获得所有路由 默认false 说明是第一次
		isGetterRouter: false,
		//左侧侧边栏点击折叠与否 定义共享状态是true还是false
		isCollapsed: false,
		//存储用户登陆成功后的用户信息
		userInfo: {},
	},
	getters:{},
	mutations:{
		//改变是否获取到全部路由的状态
		changeGetterRouter(state, value){
			state.isGetterRouter = value
		},
		//控制左侧侧边栏展开
		changeCollapsed(state){
			state.isCollapsed = !state.isCollapsed
		},
		//改变用户信息
		changeUserInfo(state, value){
			//改变用户信息
			state.userInfo = {
				//将原来的用户信息和新的用户信息合并
				...state.userInfo,
				...value
			}
		},
		//清空用户信息
		clearUserInfo(state){
			state.userInfo = {}
		}
	},
	actions:{},
	modules:{},
	//vuex的持久化
	plugins: [createPersistedState({
		//path内控制让谁持久化：左侧侧边折叠、用户信息
		paths: ["isCollapsed", "userInfo"],
	})],
})